
var http=require('../../API/http')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 请求商品列表接口传递的参数
    info:{
      query:"",
      cid:"",
      pagenum:1,
      pagesize:10
    },
    // 请求到的商品列表列表
    goodsList:[],
    // 数据总条数
    total:null,
    // 创建标签页数据
    tabs:[
      {
        name:"综合",
        id:0,
        flag:false
      },
      {
        name:"销量",
        id:1,
        flag:false
      },
      {
        name:"价格",
        id:2,
        flag:false
      },
    ],
    active:0,

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 传递关键字
    this.data.info.query=options.query
    this.getlist()
  },
  // 请求商品列表函数
  getlist(val){
    // 请求商品列表
    http('get','goods/search',this.data.info).then(res=>{
        // 停止下拉刷新
      if(val==666){
        wx.stopPullDownRefresh({
          success: (res) => {},
        })
      }
      else if(val=='数组合并'){
        let arr = [...this.data.goodsList,...res.data.message.goods]
        this.setData({
          goodsList:arr
        })
        console.log(this.data.goodsList);
      }
      else{
        this.setData({
        goodsList:res.data.message.goods,
        total:res.data.message.total
      })
      }
      
    })
    
  },

  // 点击标签触发
  tab(e){
    let id = e.currentTarget.dataset.id
    let arr1=[]
    // 点击价格
    if(id==2){
      // 切换状态作判断
      this.data.tabs[2].flag=!this.data.tabs[2].flag
      if(this.data.tabs[2].flag){
        // 价格从大到小排列
        arr1=this.data.goodsList.sort((a,b)=> a.goods_price-b.goods_price)
      }
      else{
        // 价格从小到大排列
        arr1=this.data.goodsList.sort((a,b)=>b.goods_price-a.goods_price)
      }
      this.setData({
        goodsList:arr1
      })
    }
    else if(id==0){
      this.getlist()
    }
    //点击切换样式
    this.setData({
      active:id
    })
  },

  // 点击跳转详情页
  xq(e){
    let id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/detail/detail?id=${id}`,
    })
  },

  // 搜索框输入事件
  search(e){
    let val = e.detail.value
    this.data.info.query=val;
    this.getlist()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 下拉刷新
   */
  onPullDownRefresh() {
    let obj = {
      query:"",
      cid:"",
      pagenum:1,
      pagesize:10
    };

    this.setData({
      info:obj
    })
    this.getlist('666')
  },

  /**
   * 上拉触底
   */
  onReachBottom() {
    // 判断后台给的数据总数量如果大于等于商品列表总数就提示到底了，否则就继续合并数组
    if(this.data.goodsList.length>=this.data.total){
      wx.showToast({
        title: '到底了，别拉了',
      })
      return false
    }
    // 对对象中的某个属性进行修改
    this.setData({
      ['info.pagenum']:++this.data.info.pagenum
    })
    this.getlist('数组合并')
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})